Wireless data services are expected to grow in the near future and will likely become a significant source of traffic and revenue for network service providers. The High-Speed Downlink Packet Access (HSDPA) standard was developed in an effort to meet this growing demand. HSDPA may be thought of as a set of channels and procedures supported in 3GPP, Release 5 and later, enabling high speed packet data transmission on the downlink. HSDPA can provide a roadmap for Universal Mobile Telecommunications System (UMTS) based networks to increase their data transfer speeds and capacity. HSDPA enhances Wideband Code Division Multiple Access (WCDMA) technology through, among other improvements, the utilization of additional shared data channels, allowing statistical multiplexing among users, the application of different adaptive modulation and coding techniques, and fast, channel-aware scheduling at the base station. HSDPA can also improve the speed of error recovery by utilizing a fast retransmission mechanism called Hybrid Automatic Repeat Request (H-ARQ) with Stop and Wait (SAW) protocol.
FIG. 1 depicts a top-level interaction among exemplary elements of a WCDMA/HSDPA network 100, which may include a base transceiver station 105 (hereinafter referred to as “Node B”) and a User Equipment (UE) device 110. The UE 110 includes a memory buffer 115 having a conventional arrangement. Various other elements which may exist within the network 100 are not shown for simplicity. Node B 105 may be in communications with UE 110 across various air interfaces or channels. The High Speed Downlink Shared Channel (HS-DSCH) may be used as the primary radio bearer which can transfer traffic data packets between Node B 105 and the UE 110. Support for the HS-DSCH operation of UE 110 may include additional two control channels, the High Speed Shared Control Channel (HS-SCCH) and the High Speed Dedicated Physical Control Channel (HS-DPCCH). The HS-SCCH may provide signaling information to the UE which may include H-ARQ related parameters and information regarding whether a packet is a new transmission or a retransmission. The HS-DPCCH may provide feedback information to Node B which may include a Channel Quality Indicator (CQI). The HS-DPCCH may also provide Acknowledgment (ACK)/Negative Acknowledgement (NACK) feedback generated by the UE 110 (which may be based upon, for example, a Cyclic Redundancy Check (CRC) within the UE 110).
H-ARQ processing can enable faster recovery by storing corrupted packets in the UE 110 rather than discarding them. When a corrupted packet is received, the UE 110 may store it in a H-ARQ buffer contained in a buffer memory 115, and combine the corrupted packet with one or more subsequent retransmissions to increase the probability of a successful decoding. Even if the retransmitted packet(s) contains errors, a good packet can be derived from the combination previously received corrupted transmissions. This process may be referred to as soft combining, and can include Chase Combining (CC) and/or Incremental Redundancy (IR). CC may be a basic combining approach wherein Node B may be simply retransmitting the exact same set of coded symbols of the original packet. With IR, different redundancy information may be sent during retransmissions by recoding the packet in a different manner, thus incrementally increasing the coding gain. To improve the speed of H-ARQ processing, the functionality may be implemented directly at the physical/Media Access Control (L1) layer of the UE 110.
The memory buffer 115 may reside in UE 110 in order to provide storage space for a variety of processing functions or services. A fixed portion of the memory buffer 115 may be devoted to Non-HSDPA services, such as, for example, data associated with Multimedia Broadcast Multicast Service (MBMS). The other portion of the memory, hereinafter referred to as a H-ARQ buffer, may be devoted to a fixed space for storing data associated with a specified number of HSDPA H-ARQ processes. Each H-ARQ process may be responsible for the delivery of HSDPA packets at the MAC-hs layer. This fixed number of H-ARQ processes is hereinafter referred to as “N”, where the value of N may depend upon the network provider. The conventional H-ARQ buffer shown in FIG. 1 organizes data associated with H-ARQ processes using a static approach. Each H-ARQ process may be assigned an identifier (e.g., HSDPA H-ARQ1, HSDPA H-ARQ2, . . . , HSDPA H-ARQN) and be permanently assigned a fixed memory location, each memory location having a fixed size. This size may depend upon the number of H-ARQ processes and the HS-DSCH category designation
FIG. 2 is an exemplary timing diagram 200 showing the interaction between Node B 105 and the UE 110. Packet data may be transferred over the HS-DSCH using time domain multiplexing, where each Transmission Time Interval (TTI) may consist of three slots, also known as a sub-frame (a 2 ms time period according to the standard, but other time periods may be contemplated). The data for the HS-DSCH is sent on the HS-PDSCH (High Speed Physical Downlink Shared Channels), which are code multiplexed within each TTI. Each data packet may be associated with a separate H-ARQ process which can correspond to a specific H-ARQ ID. Information associated with each HS-DSCH and its corresponding H-ARQ process is provided over the UEs 110 HS-SCCH, and precedes corresponding sub-frames in the HS-DSCH (TTIs) by 2 slots. In the example shown in FIG. 2, the H-ARQ IDs range from 1 to 6, and data packet 205 is associated with H-ARQ6 210. When a packet is received by the UE 110, the UE will attempt to decode the packet. If successful, the UE 110 will send an ACK to Node B 105 over the HS-DPCCH for the relevant H-ARQ. If the decoding is unsuccessful, the UE 110 will send a NACK to Node B 105 over the same channel. In order to better use the waiting time between acknowledgments, multiple processes can run for in UE 110 using separate TTIs. This technique may be referred to as N-“channel” SAW (N=6 in the illustrated example), wherein each “channel” corresponds to a specific H-ARQ process. When one process is awaiting an acknowledgment, the remaining N−1 processes may continue to transmit.
In the example shown in FIG. 2, for the first TTI, 7.5 slots after the end of the received packet associated with H-ARQ1, a NACK indication was sent during one slot by the UE 110 on the HS-DPCCH for H-ARQ1. The earliest (re)transmission on the same H-ARQ process (in this case H-ARQ1) may then occur 10 ms after the beginning of the previous transmission (i.e., 12 slots after the end of that transmission, taking into account time gaps allowed for decoding). The node B 105 may give priority to NACK signals to schedule a retransmission on the same H-ARQ at the earliest opportunity, or schedule the H-ARQ processes in a sequential manner irrespective of the ACK/NACK indication, or use any other method which satisfies the aforementioned timeline constraint set in the standard.
Because storing the data associated with each H-ARQ process utilizes memory resources within the UE 110, there is a need for methods and apparatus for H-ARQ process memory management in order to utilize memory in an intelligent and flexible manner. Conserving memory for H-ARQ processes can provide more memory for non-HSDPA services, and/or permit the design of UEs having smaller buffer memories, which may lead to lower production costs and/or reduced UE 110 power consumption.